我使用spring mvc + spring boot hibernate。在我运行应用程序之前突然出现这个错误。下面是错误mesage得到错误java:找不到符号类

C:\用户\ User_2 \ PDRM \ SRC \主\的java \ COM \示例\ RegisterController.java 错误:(23,19)的java:无法找到符号 符号:类Default_profilesRepository 位置:包com。示例 错误:(33,13)的java:无法找到符号 符号:类Default_profilesRepository 位置:类com.example.RegisterController

这里RegisterController类

package com.example;

import com.example.*;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.validation.BindingResult;

import org.springframework.validation.Errors;

import org.springframework.web.bind.annotation.*;

import org.springframework.web.context.request.WebRequest;

import javax.validation.Valid;

import java.io.UnsupportedEncodingException;

import java.math.BigInteger;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import java.util.Date;

import java.util.UUID;

import static jdk.nashorn.internal.objects.NativeString.substr;

@Controller

public class RegisterController {

@Autowired

private Default_profilesRepository profilesRepository;

@Autowired

private Default_usersRepository usersRepository;

@RequestMapping("/login")

public String Login(Model model)

{

model.addAttribute("user", new Default_users());

return "login";

}

@RequestMapping("/loginProcess")

public String loginProcess(@ModelAttribute(value="user") @Valid Default_users user, BindingResult bindingResultUser)

{

if(bindingResultUser.hasErrors())

{

return "login";

}

Default_users user2 = usersRepository.findByEmail(user.getEmail());

if (user2 != null) {

String passwordToHash = user.getPassword();

String saltDB = user2.getSalt();

String Password = null;

try {

// Create MessageDigest instance for MD5

MessageDigest md = MessageDigest.getInstance("MD5");

//Add password bytes to digest

md.update(passwordToHash.getBytes());

//Get the hash's bytes

byte[] bytes = md.digest();

//This bytes[] has bytes in decimal format;

//Convert it to hexadecimal format

StringBuilder sb = new StringBuilder();

for (int i = 0; i < bytes.length; i++) {

sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1));

}

//Get complete hashed password in hex format

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

String uuid = UUID.randomUUID().toString();

MessageDigest crypt = null;

try {

crypt = MessageDigest.getInstance("SHA-1");

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

crypt.reset();

try {

String tets = passwordToHash + saltDB;

crypt.update(tets.getBytes("UTF-8"));

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

Password = new BigInteger(1, crypt.digest()).toString(16);

System.out.println(user2.getPassword());

System.out.println(Password);

System.out.println(saltDB);

if (Password.equals(user2.getPassword())) {

return "/home";

} else {

return "/login";

}

}

return "/home";

}

@GetMapping("/register")

public String Register(Model model)

{

model.addAttribute("profile", new Default_profiles());

model.addAttribute("user", new Default_users());

return "register";

}

@RequestMapping("/save")

public String Process(@ModelAttribute(value="user") @Valid Default_users user, BindingResult bindingResultUser, WebRequest request, Errors errors, @ModelAttribute(value="profile") @Valid Default_profiles profile, BindingResult bindingResultProfile)

{

Date date = new Date();

int unixTime = (int) date.getTime()/1000;

Default_users userExists = usersRepository.findByEmail(user.getEmail());

System.out.println(userExists);

if (userExists != null) {

bindingResultUser

.rejectValue("email", "error.user",

"There is already a user registered with the email provided");

}

if(bindingResultUser.hasErrors() || bindingResultProfile.hasErrors())

{

return "register";

}

String passwordToHash = user.getPassword();

String salt = null;

String Password = null;

try {

// Create MessageDigest instance for MD5

MessageDigest md = MessageDigest.getInstance("MD5");

//Add password bytes to digest

md.update(passwordToHash.getBytes());

//Get the hash's bytes

byte[] bytes = md.digest();

//This bytes[] has bytes in decimal format;

//Convert it to hexadecimal format

StringBuilder sb = new StringBuilder();

for (int i = 0; i < bytes.length; i++) {

sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1));

}

//Get complete hashed password in hex format

salt = sb.toString();

salt = substr(salt, 0, 6);

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

String uuid = UUID.randomUUID().toString();

MessageDigest crypt = null;

try {

crypt = MessageDigest.getInstance("SHA-1");

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

crypt.reset();

try {

String tets = passwordToHash + salt;

crypt.update(tets.getBytes("UTF-8"));

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

Password = new BigInteger(1, crypt.digest()).toString(16);

user.setPassword(Password);

user.setSalt(salt);

user.setGroup_id(2);

user.setIp_address("");

user.setActive(1);

user.setActivation_code("");

user.setCreated_on(unixTime);

user.setLast_login(unixTime);

user.setForgotten_password_code("");

user.setRemember_code("hgshd");

profile.setCreated(date);

profile.setUpdated(date);

profile.setCreated_by(unixTime);

profile.setOrdering_count(0);

profile.setDisplay_name(user.getEmail());

profile.setDob(0);

profile.setGender("");

profile.setPhone("");

profile.setAddress_line1("");

profile.setAddress_line2("");

profile.setAddress_line3("");

profile.setPostcode("");

profile.setUpdated_on(0);

profile.setCountry("MY");

profile.setUser_id(user);

profilesRepository.save(profile);

return "/result";

}

`` }

这里Default_profilesRepository

package com.example;

import org.springframework.data.repository.CrudRepository;

public interface Default_profilesRepository extends

CrudRepository {

}

配置文件

package com.example;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;

import org.springframework.security.config.annotation.web.builders.HttpSecurity;

import org.springframework.security.config.annotation.web.builders.WebSecurity;

import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;

import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

import org.springframework.security.web.util.matcher.AntPathRequestMatcher;

import javax.sql.DataSource;

@Configuration

@EnableWebSecurity

@ComponentScan

public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {

@Qualifier("dataSource")

@Autowired

private DataSource dataSource;

@Autowired

public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {

auth.jdbcAuthentication().dataSource(dataSource)

.usersByUsernameQuery(

"select u from Default_users u where u.email=?");

}

@Override

protected void configure(HttpSecurity http) throws Exception {

http.

authorizeRequests()

.antMatchers("/").permitAll()

.antMatchers("/login").permitAll()

.antMatchers("/registration").permitAll()

.anyRequest().authenticated()

.and()

.formLogin()

.and().csrf().disable().formLogin()

.loginPage("/login").failureUrl("/login?error=true")

.defaultSuccessUrl("/home")

.and().logout()

.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))

.logoutSuccessUrl("/").and().exceptionHandling()

.accessDeniedPage("/access-denied");

http.csrf().disable();

http.headers().frameOptions().disable();

}

@Override

public void configure(WebSecurity web) throws Exception {

web

.ignoring()

.antMatchers("/resources/**", "/static/**", "/css/**", "/js/**", "/images/**");

}

}

主要应用

package com.example;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cache.annotation.EnableCaching;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication

@Configuration

@EnableCaching

public class PdrmApplication {

public static void main(String[] args) {

SpringApplication.run(PdrmApplication.class, args);

}

}

2017-06-15

styles

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐