添加Spring-Web和Spring-Security依賴,使用Spring-Security是由於使用SpringBoot的Redis依賴時,必須添加Spring-Security。在新版本SpringBoot纔會這樣。java
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
8080端口指定一下,由於下面雙開服務器這個配置必須在這裏顯示加上。nginx
server.port=8080
@RestController public class HelloController { @Value("${server.port}") Integer port; @GetMapping("/set") public String set(HttpSession session) { session.setAttribute("name", "johnson"); return String.valueOf(port); } @GetMapping("/get") public String get(HttpSession session) { return (String)session.getAttribute("name") + port; } }
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
鏈接redis必需要密碼,不然鏈接不上,因此你的redis服務器必須設置密碼web
spring.redis.host=127.0.0.1 spring.redis.database=0 spring.redis.port=6379 spring.redis.password=123456
啓動後,瀏覽器打開localhost:8080
,帳號默認爲user,密碼在控制檯打印出來了,能夠去看看。頁面以下:
redis
當咱們開啓兩個或多個Tomcat時,如何在這兩個Tomcat服務中共享Session呢,而Spring直接扔個依賴給你,安裝這個依賴就行了。
???????????? execute me!?
就是這麼簡單,添加spring-session-data-redis
依賴就行了,以下:spring
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
使用maven使用package指令打包出來出來後(IDEA的Maven工具備package按鈕,點一下就好),在target目錄下能夠看到你打包好的jar包,就像這樣:
mongodb
進入到tartget目錄後,打開兩個命令窗口, 分別輸入如下命令:瀏覽器
java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8080 //窗口1命令 java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8081 //窗口2命令
而後打開頁面localhost:8080
,帳號默認爲user,密碼能夠在8080的控制檯看到,登陸成功後,
再打開頁面localhost:8081
,你會發現不須要再次登陸啦,Session共享成功!服務器
安裝Nginx能夠參考我以前的文章 Centos安裝Nginx
若是是Ubuntu或者其餘類型的系統,就依賴項不一樣,安裝方式仍是同樣的。微信
nginx配置在路徑在/usr/local/nginx/conf/nginx.conf
, 修改配置以下:
在http
模塊下修改。session
upstream colablog.cn { server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=1; } server { listen 80; server_name localhost; location / { proxy_pass http://colablog.cn; proxy_redirect default; } }
修改完nginx配置後記得要從新加載一下配置文件,修改配置文件後必須從新指定配置文件,不然啓動會報錯。
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //從新指定配置文件 sudo /usr/local/nginx/sbin/nginx -s reload //從新啓動nginx
把剛纔項目打包出來的jar包扔到Linux服務器上,讓程序在服務器後臺運行,使用以下命令:
$ nohup java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8080 > 8080.log & $ nohup java -jar sessionhare-0.0.1-SNAPSHOT.jar --server.port=8081 > 8081.log &
打開你Linux服務器的ip地址就能夠看到了。在瀏覽器打開你的虛擬機ip/set
,你的虛擬機ip/get
,重複打開幾回就會發現訪問不一樣的端口。
整合MongoDb就像整合Redis那麼簡單,依賴和配置文件搞一下就好了
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
spring.data.mongodb.host=127.0.0.1 spring.data.mongodb.authentication-database=admin spring.data.mongodb.username=johnson spring.data.mongodb.password=123456 spring.data.mongodb.port=27017 spring.data.mongodb.database=johnson
這樣就已經配置好了,不過咱們仍是測試一下吧。
Book
實體類
public class Book { private Integer id; private String name; private String author; @Override public String toString() { return "Book{" + "id=" + id + ", name='" + name + '\'' + ", author='" + author + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } }
dao
接口
public interface BookDao extends MongoRepository<Book, Integer> { List<Book> findBookByNameContaining(String name); }
測試類
@SpringBootTest class MongoApplicationTests { @Autowired BookDao dao; @Test void contextLoads() { Book book = new Book(); book.setName("colablog"); book.setId(1); book.setAuthor("johnson"); dao.insert(book); } @Test public void getList() { List<Book> all = dao.findAll(); System.out.println(all); List<Book> cola = dao.findBookByNameContaining("cola"); System.out.println(cola); } @Autowired MongoTemplate template; @Test public void test1() { Book book = new Book(); book.setName("colablog2"); book.setId(2); book.setAuthor("johnson2"); template.insert(book); List<Book> all = template.findAll(Book.class); System.out.println(all); } }
文章主要是根據江南一點雨(鬆哥)總結了視頻第六章內容,
代碼貼的有點多,由於測試用例的關係,真是抱歉,由於有測試用例才能證實程序能走通。
好了,感謝各位的閱讀,文章如有不足之處或更好的建議,請在下方留言,Thanks♪(・ω・)ノ。
我的博客網址: https://colablog.cn/
若是個人文章幫助到您,能夠關注個人微信公衆號,第一時間分享文章給您